// Vite构建工具配置文件
// 配置项目的构建、开发服务器、路径别名等
import { defineConfig } from 'vite' // Vite配置函数
import react from '@vitejs/plugin-react' // React插件
import path from 'path' // Node.js路径模块

// https://vite.dev/config/
export default defineConfig({
  plugins: [react()], // 使用React插件
  
  // 路径解析配置
  resolve: {
    alias: {
      '@': path.resolve(__dirname, './src'), // 源码根目录
      '@components': path.resolve(__dirname, './src/components'), // 组件目录
      '@pages': path.resolve(__dirname, './src/pages'), // 页面目录
      '@store': path.resolve(__dirname, './src/store'), // 状态管理目录
      '@utils': path.resolve(__dirname, './src/utils'), // 工具函数目录
      '@hooks': path.resolve(__dirname, './src/hooks'), // 自定义hooks目录
      '@types': path.resolve(__dirname, './src/types'), // 类型定义目录
      '@styles': path.resolve(__dirname, './src/styles'), // 样式目录
      '@layouts': path.resolve(__dirname, './src/layouts'), // 布局组件目录
      '@services': path.resolve(__dirname, './src/services'), // 服务层目录
    },
  },
  
  // 开发服务器配置
  server: {
    port: 3000, // 开发服务器端口
    open: true, // 自动打开浏览器
    cors: true, // 启用跨域支持
  },
  
  // 构建配置
  build: {
    outDir: 'dist', // 输出目录
    sourcemap: false, // 不生成sourcemap
    rollupOptions: {
      output: {
        // 代码分割配置：将第三方库分离打包
        manualChunks: {
          vendor: ['react', 'react-dom'], // React核心库
          router: ['react-router-dom'], // 路由库
          redux: ['@reduxjs/toolkit', 'react-redux'], // Redux状态管理
          ui: ['antd', '@arco-design/web-react'], // UI组件库
        },
      },
    },
  },
})
